Preview
Der KAN forekomme kvalmende scener da vi har designet den if|lge moden!
Til dem der har den opfattelse, at GLENZ er et uddebateret emne, m} vi desv{rre meddele, at der p} denne sk{rm faktisk
optr{der et objekt af den n{vnte art. Men De kan v{re ganske rolig; vi vil ikke fremover ridse op i den forgangende glenz problematik.
(Ihvertfald ikke alt for ofte....)
Dette her er
en af sourcekoderne
fra
megademo 8.
*****************************************
blw: macro
\@bw: btst #14,$dff002
bne \@bw
endm
*****************************************
h = 288
dsc = h*40
DMACONR:EQU $002
BLTCON0:EQU $040
BLTCON1:EQU $042
BLTAMASK:EQU $044
BLTCPT: EQU $048
BLTBPT: EQU $04C
BLTAPT: EQU $050
BLTDPT: EQU $054
BLTSIZE:EQU $058
BLTCMOD:EQU $060
BLTBMOD:EQU $062
BLTAMOD:EQU $064
BLTDMOD:EQU $066
BLTCDAT:EQU $070
BLTBDAT:EQU $072
BLTADAT:EQU $074
;----------------------------------------
section program,code_c
start: jmp j
*****************************************************
pic: ds.b 30812
>extern 'hd:art/fangerneiforden',pic
*****************************************************
unifade: ;d0=farve d3=det den skal ligne
move.w d0,d1
move.w d1,d2
move.w d3,d4
move.w d4,d5
and.w #$f00,d0
and.w #$0f0,d1
and.w #$00f,d2
and.w #$f00,d3
and.w #$0f0,d4
and.w #$00f,d5
cmp.w d0,d3
beq nixr0d
blt nixr0d2
add.w #$100,d0
bra nixr0d
nixr0d2:sub.w #$100,d0
nixr0d:
cmp.w d1,d4
beq nixgr0
blt nixgr02
add.w #$010,d1
bra nixgr0
nixgr02:sub.w #$010,d1
nixgr0:
cmp.w d2,d5
beq nixbla
blt nixbla2
add.w #$001,d2
bra nixbla
nixbla2:sub.w #$001,d2
nixbla:
add.w d2,d1
add.w d1,d0
rts
********************************
convert:
move.l #pic,a0
move.w 28(a0),d0
lsl.w #4,d0
move.w d0,bps+2
move.w 20(a0),d0
lsr.w #3,d0
cmp.w #80,d0
blt nmed
or.w #$8000,bps+2
nmed: move.b 5(a0),mod1+2
move.b 5(a0),mod2+2
move.b 6(a0),mod1+3
move.b 6(a0),mod2+3
sub.w d0,mod1+2
sub.w d0,mod2+2
search1:cmp.l #'CMAP',(a0)+
bne search1
addq #4,a0
move.l #cols+2,a1
search2:move.b (a0)+,d1
move.b (a0)+,d2
move.b (a0)+,d3
lsl.w #4,d1
lsr.w #4,d3
add.w d3,d2
add.w d2,d1
and.w #$0fff,d1
move.w d1,(a1)
addq #4,a1
move.b (a0)+,d1
move.b (a0)+,d2
move.b (a0)+,d3
lsl.w #4,d1
lsr.w #4,d3
add.w d3,d2
add.w d2,d1
and.w #$0fff,d1
move.w d1,(a1)
addq #4,a1
cmp.l #'BODY',(a0)
bne search2
addq #8,a0
move.l a0,d1
move.w d1,pbp1+6
swap d1
move.w d1,pbp1+2
swap d1
add.w d0,d1
move.w d1,pbp2+6
swap d1
move.w d1,pbp2+2
swap d1
add.w d0,d1
move.w d1,pbp3+6
swap d1
move.w d1,pbp3+2
swap d1
add.w d0,d1
move.w d1,pbp4+6
swap d1
move.w d1,pbp4+2
swap d1
add.w d0,d1
move.w d1,pbp5+6
swap d1
move.w d1,pbp5+2
swap d1
add.w d0,d1
move.w d1,pbp6+6
swap d1
move.w d1,pbp6+2
rts
********************************************
*****copperliste.....
copper:
dc.l $008e2880
dc.l $009028f0
dc.l $00920030
dc.l $009400c8
dc.l $01800000
dc.l $01020088
dc.l $01080000,$010a0000
dc.l $01800000
col: dc.l $01820fff
bp1: dc.l $00e00006,$00e20000
dc.l $2807fffe,$01001200
dc.l $ffdffffe
dc.l $2807fffe
dc.l $01000000
DC.L $FFFFFFFE
********************************
cols: dc.l $01800000
dc.l $01820000
dc.l $01840000
dc.l $01860000
dc.l $01880000
dc.l $018a0000
dc.l $018c0000
dc.l $018e0000
dc.l $01900000
dc.l $01920000
dc.l $01940000
dc.l $01960000
dc.l $01980000
dc.l $019a0000
dc.l $019c0000
dc.l $019e0000
dc.l $01a00000
dc.l $01a20000
dc.l $01a40000
dc.l $01a60000
dc.l $01a80000
dc.l $01aa0000
dc.l $01ac0000
dc.l $01ae0000
dc.l $01b00000
dc.l $01b20000
dc.l $01b40000
dc.l $01b60000
dc.l $01b80000
dc.l $01ba0000
dc.l $01bc0000
dc.l $01be0000
copper2:dc.l $008e2180
dc.l $009041f0
dc.l $00920038
dc.l $009400d0
dc.l $01000200
dc.l $01020000
mod1: dc.l $01080000
mod2: dc.l $010a0000
cols2: dc.l $01800000
dc.l $01820000
dc.l $01840000
dc.l $01860000
dc.l $01880000
dc.l $018a0000
dc.l $018c0000
dc.l $018e0000
dc.l $01900000
dc.l $01920000
dc.l $01940000
dc.l $01960000
dc.l $01980000
dc.l $019a0000
dc.l $019c0000
dc.l $019e0000
dc.l $01a00000
dc.l $01a20000
dc.l $01a40000
dc.l $01a60000
dc.l $01a80000
dc.l $01aa0000
dc.l $01ac0000
dc.l $01ae0000
dc.l $01b00000
dc.l $01b20000
dc.l $01b40000
dc.l $01b60000
dc.l $01b80000
dc.l $01ba0000
dc.l $01bc0000
dc.l $01be0000
pbp1: dc.l $00e00000,$00e20000
pbp2: dc.l $00e40000,$00e60000
pbp3: dc.l $00e80000,$00ea0000
pbp4: dc.l $00ec0000,$00ee0000
pbp5: dc.l $00f00000,$00f20000
pbp6: dc.l $00f40000,$00f60000
dc.l $2411fffe
bps: dc.l $01001200
dc.l $ffdffffe
dc.l $2411fffe
dc.l $01000200
dc.l -2
oldcop: dc.l 0
scr: blk.b dsc+dsc,0
;----------------------------------------
ctab1: dc.w $000,$111,$222,$333,$444,$555,$666,$777
dc.w $888,$999,$aaa,$bbb,$ccc,$ddd,$eee,$fff
ctab2: dc.w $000,$010,$020,$030,$040,$050,$060,$070
dc.w $080,$090,$0a0,$0b0,$0c0,$0d0,$0e0,$0f0
;---------------------------------------
v=1
;---------------------------------------
sppoints:dc.l 000*v,0, 000*v,0, 0*v,0
dc.l $11111111
spepoints:
splines:dc.l sppoints
dc.l 0,0
dc.l $ff
;---------------------------------------
apoints:dc.l 000*v,0, -30*v,0, 0*v,0
dc.l -20*v,0, 030*v,0, 0*v,0
dc.l 000*v,0, 030*v,0, 0*v,0
dc.l 000*v,0, 020*v,0, 0*v,0
dc.l -05*v,0, 020*v,0, 0*v,0
dc.l 000*v,0, -10*v,0, 0*v,0
dc.l 010*v,0, 030*v,0, 0*v,0
dc.l 020*v,0, 030*v,0, 0*v,0
dc.l $11111111
aepoints:
alines: dc.l apoints
dc.l 0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,0
dc.l $ff
;---------------------------------------
bpoints:dc.l -20*v,0, -30*v,0, 0*v,0
dc.l -20*v,0, -20*v,0, 0*v,0
dc.l 000*v,0, -20*v,0, 0*v,0
dc.l 000*v,0, -10*v,0, 0*v,0
dc.l -20*v,0, -10*v,0, 0*v,0
dc.l -20*v,0, 030*v,0, 0*v,0
dc.l 020*v,0, 030*v,0, 0*v,0
dc.l 020*v,0, -10*v,0, 0*v,0
dc.l 010*v,0, -10*v,0, 0*v,0
dc.l 010*v,0, -30*v,0, 0*v,0
dc.l -10*v,0, 000*v,0, 0*v,0
dc.l -10*v,0, 020*v,0, 0*v,0
dc.l 010*v,0, 020*v,0, 0*v,0
dc.l 010*v,0, 000*v,0, 0*v,0
dc.l $11111111
bepoints:
blines: dc.l bpoints
dc.l 0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,0,10,11,11,12,12,13,13,10
dc.l $ff
;---------------------------------------
cpoints:dc.l -20*v,0, -30*v,0, 0*v,0
dc.l -20*v,0, -20*v,0, 0*v,0
dc.l 020*v,0, -20*v,0, 0*v,0
dc.l 020*v,0, -30*v,0, 0*v,0
dc.l -20*v,0, -10*v,0, 0*v,0
dc.l -20*v,0, 030*v,0, 0*v,0
dc.l 020*v,0, 030*v,0, 0*v,0
dc.l 020*v,0, 020*v,0, 0*v,0
dc.l -10*v,0, 020*v,0, 0*v,0
dc.l -10*v,0, -10*v,0, 0*v,0
dc.l $11111111
cepoints:
clines: dc.l cpoints
dc.l 0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,8,8,9,9,4
dc.l $ff
;---------------------------------------
dpoints:dc.l -20*v,0, -30*v,0, 0*v,0
dc.l -20*v,0, -20*v,0, 0*v,0
dc.l 000*v,0, -20*v,0, 0*v,0
dc.l 010*v,0, 000*v,0, 0*v,0
dc.l 010*v,0, 020*v,0, 0*v,0
dc.l -10*v,0, 020*v,0, 0*v,0
dc.l -10*v,0, -10*v,0, 0*v,0
dc.l -20*v,0, -10*v,0, 0*v,0
dc.l -20*v,0, 030*v,0, 0*v,0
dc.l 020*v,0, 030*v,0, 0*v,0
dc.l 020*v,0, -10*v,0, 0*v,0
dc.l 010*v,0, -30*v,0, 0*v,0
dc.l $11111111
depoints:
dlines: dc.l dpoints
dc.l 0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,0
dc.l $ff
;---------------------------------------
epoints:dc.l -20*v,0, -30*v,0, 0*v,0
dc.l -20*v,0, -20*v,0, 0*v,0
dc.l 020*v,0, -20*v,0, 0*v,0
dc.l 020*v,0, -30*v,0, 0*v,0
dc.l -20*v,0, -10*v,0, 0*v,0
dc.l -20*v,0, 030*v,0, 0*v,0
dc.l 020*v,0, 030*v,0, 0*v,0
dc.l 020*v,0, 020*v,0, 0*v,0
dc.l -10*v,0, 020*v,0, 0*v,0
dc.l -10*v,0, 000*v,0, 0*v,0
dc.l 010*v,0, 000*v,0, 0*v,0
dc.l 010*v,0, -10*v,0, 0*v,0
dc.l $11111111
eepoints:
elines: dc.l epoints
dc.l 0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,4
dc.l $ff
;---------------------------------------
fpoints:dc.l -20*v,0, -30*v,0, 0*v,0
dc.l -20*v,0, -20*v,0, 0*v,0
dc.l 020*v,0, -20*v,0, 0*v,0
dc.l 020*v,0, -30*v,0, 0*v,0
dc.l -20*v,0, -10*v,0, 0*v,0
dc.l -20*v,0, 030*v,0, 0*v,0
dc.l -10*v,0, 030*v,0, 0*v,0
dc.l -10*v,0, 000*v,0, 0*v,0
dc.l 010*v,0, 000*v,0, 0*v,0
dc.l 010*v,0, -10*v,0, 0*v,0
dc.l $11111111
fepoints:
flines: dc.l fpoints
dc.l 0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,8,8,9,9,4
dc.l $ff
;---------------------------------------
gpoints:dc.l -20*v,0, -30*v,0, 0*v,0
dc.l -20*v,0, -20*v,0, 0*v,0
dc.l 020*v,0, -20*v,0, 0*v,0
dc.l 020*v,0, -30*v,0, 0*v,0
dc.l -20*v,0, -10*v,0, 0*v,0
dc.l -20*v,0, 030*v,0, 0*v,0
dc.l 020*v,0, 030*v,0, 0*v,0
dc.l 020*v,0, -10*v,0, 0*v,0
dc.l 000*v,0, -10*v,0, 0*v,0
dc.l 000*v,0, 000*v,0, 0*v,0
dc.l 010*v,0, 000*v,0, 0*v,0
dc.l 010*v,0, 020*v,0, 0*v,0
dc.l -10*v,0, 020*v,0, 0*v,0
dc.l -10*v,0, -10*v,0, 0*v,0
dc.l $11111111
gepoints:
glines: dc.l gpoints
dc.l 0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,4
dc.l $ff
;---------------------------------------
hpoints:dc.l -20*v,0, -10*v,0, 0*v,0
dc.l -20*v,0, 030*v,0, 0*v,0
dc.l -10*v,0, 030*v,0, 0*v,0
dc.l -10*v,0, 000*v,0, 0*v,0
dc.l 010*v,0, 000*v,0, 0*v,0
dc.l 010*v,0, 030*v,0, 0*v,0
dc.l 020*v,0, 030*v,0, 0*v,0
dc.l 020*v,0, -30*v,0, 0*v,0
dc.l 010*v,0, -30*v,0, 0*v,0
dc.l 010*v,0, -10*v,0, 0*v,0
dc.l $11111111
hepoints:
hlines: dc.l hpoints
dc.l 0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,0
dc.l $ff
;---------------------------------------
ipoints:dc.l -05*v,0, -30*v,0, 0*v,0
dc.l -05*v,0, 030*v,0, 0*v,0
dc.l 005*v,0, 030*v,0, 0*v,0
dc.l 005*v,0, -30*v,0, 0*v,0
dc.l $11111111
iepoints:
ilines: dc.l ipoints
dc.l 0,1,1,2,2,3,3,0
dc.l $ff
;---------------------------------------
jpoints:dc.l -20*v,0, -30*v,0, 0*v,0
dc.l -20*v,0, -20*v,0, 0*v,0
dc.l 020*v,0, -20*v,0, 0*v,0
dc.l 020*v,0, -30*v,0, 0*v,0
dc.l 010*v,0, -10*v,0, 0*v,0
dc.l 010
,d1
dc.l 0`1,d3
dbra d0,plo
rts
**********************************
***Her er selve programmet...
**********************************
main:
cmp.b #$ff,$dff006
bne.W main
main1: cmp.b #$1f,$dff006
bne.W main1
;--------------------------------------------------------
move.l scradr,d0
move.w d0,bp1+6
swap d0
move.w d0,bp1+2
add.l #dsc,scradr
cmp.l #scr+dsc+dsc,scradr
bne wscr
move.l #scr,scradr
wscr:
;--------------------------------------------------------
blw
move.l #$01000000,$dff040
move.w #0,$dff066
move.l scradr,$dff054
move.w #[h*64]+20,$dff058
;--------------------------------------------------------
move.l z,d0
cmp.l #ctab2,hct
bne nneg
neg.l d0
add.l #1023,d0
nneg:
move.l d0,z2
neg.l d0
add.l #1023,d0
lsr.l #6,d0
add.l d0,d0
move.l hct,a0
move.w (a0,d0.w),col+2
move.l #buf,a2
move.l #prex1,a3 ;precalc x1
move.l #prex2,a4 ;precalc x2
move.l #OCTANTS,A5
move.l #prey,a6 ;precalc y
move.l #-175,d7
loop1: move.l tc,a0
clr.l d0
move.b (a0),d0
sub.b #64,d0
add.l d0,d0
add.l d0,d0
move.l #bogs,a0
add.l d0,a0
move.l (a0),a0
move.l (a0),a1
loop2: move.l 00(a1),d0
move.l 08(a1),d1
add.l d7,d0
lsl.l #7,d0
lsl.l #7,d1
divs z2+2,d0
divs z2+2,d1
ext.l d0
ext.l d1
add.l #160,d0
add.l #128,d1
cmp.l #319,d0
ble aj1
move.l #319,d0
aj1: cmp.l #255,d1
ble aj2
move.l #255,d1
aj2: cmp.l #0,d0
bge aj3
move.l #0,d0
aj3: cmp.l #0,d1
bge aj4
move.l #0,d1
aj4: move.l d0,04(a1)
move.l d1,12(a1)
add.l #24,a1
cmp.l #$11111111,(a1)
bne loop2
move.l (a0),a1
addq #4,a0
loop3: move.l 00(a0),d5
move.l 04(a0),d6
move.l d5,d0
lsl.l #4,d5
lsl.l #3,d0
add.l d0,d5
move.l d6,d0
lsl.l #4,d6
lsl.l #3,d0
add.l d0,d6
move.l 04(a1,d5.w),d0
move.l 12(a1,d5.w),d1
move.l 04(a1,d6.w),d2
move.l 12(a1,d6.w),d3
bsr line
add.l #8,a0
cmp.l #$ff,(a0)
bne loop3
add.l #1,tc
add.l #50,d7
cmp.l #-175+400,d7
bne loop1
sub.l #8,tc
sub.l #8,z
cmp.l #0,z
bne wtc
move.l #1024,z
add.l #8,tc
cmp.l #gr1,tc
bne setgr1
move.l #ctab2,hct
setgr1:
cmp.l #txe,tc
bne wtc
move.l #tx,tc
move.l #ctab1,hct
bra uj
wtc:
move.l #$11111111,(a2)+
;--------------------------------------------------------
move.l #$dff000,a1
blw
MOVE.W #40,BLTCMOD(a1)
MOVE.W #40,BLTDMOD(a1)
MOVE.L #$FFFFFFFF,BLTAMASK(a1) ;SET MASK
MOVE.L #$FFFF8000,BLTBDAT(a1) ;AND BLTADAT
move.l #buf,a0
l: cmp.l #$11111111,(a0)
beq nol
MOVE.W (a0)+,BLTBMOD(a1)
MOVE.W (a0)+,BLTAPT+2(a1)
MOVE.W (a0)+,BLTCON1(a1)
MOVE.W (a0)+,BLTAMOD(a1)
move.w (a0)+,BLTCON0(a1)
move.l (a0),bltcpt(a1)
move.l (a0)+,bltdpt(a1)
MOVE.W (a0)+,BLTSIZE(a1)
blw
bra l
nol:
blw
move.l #$09f0001a,$dff040
move.w #0,$dff064
move.w #0,$dff066
move.l scradr,d0
add.l #40*[h-1]+38,d0
move.l d0,$dff050
move.l d0,$dff054
move.w #[h*64]+20,$dff058
blw
;--------------------------------------------------------
; move.w #$00f,$dff180 ;Check raster-tid
btst #6,$bfe001
bne.W main
uj: rts
*************************************
bogs: dc.l splines
dc.l alines,blines,clines,dlines,elines,flines,glines
dc.l hlines,ilines,jlines,klines,llines,mlines,nlines
dc.l olines,plines,qlines,rlines,slines,tlines,ulines
dc.l vlines,wlines,xlines,ylines,zlines
tx: dc.b 'WELCOME@'
dc.b '@@@TO@@@'
dc.b '@GFB@TM@'
dc.b 'MEGADEMO'
gr1: dc.b '@@VIII@@'
txe:
tc: dc.l tx
z: dc.l 1024
z2: dc.l 1024
hct: dc.l ctab1
;----------------------------------------
OCTANTS:DC.W 4*4+$1003,0*4+$1003,6*4+$1003,1*4+$1003
DC.W 5*4+$1003,2*4+$1003,7*4+$1003,3*4+$1003
prex1: ds.w 512
prex2: ds.w 512
prey: ds.w 512
scradr: dc.l scr
buf: blk.b 16384,0
;----------------------------------------------------------
Credit for demoen: 68020 MZ 1453 Messerschmidt Grafik J. Hash Popmusik Daddy Kool Den egentlige hensigt med denne tm Gunnars Farvebio Megademo 8 trailer er f|lgende: At reklamere for vorkommende Megademo 8: "Fangerne i Forden" Kopier den n}r den kommer!!
Er til Deres helt store irritation med f|lgende produkt: otte syv seks fem fire tre to en SLUT